The present disclosure relates generally to the deployment of services in a server cluster environment, and in particular to deploying high availability services such that node startup time is reduced during failover.
Web-based applications and services are often deployed to server clusters. Server clusters can include a number of nodes (e.g., application servers, web servers, or other computing device) and can be managed to provide improved performance and reliability using low cost off-the-shelf components. Performance improvements can be achieved through load-balancing, which distributes requests to be serviced across the nodes in the cluster (e.g., based on current workload or other performance metric). Additionally, having multiple nodes available in a cluster enables one node to take over processing for another node in the event of failure (e.g., failover), improving reliability. For example, when one node fails, an application or service hosted by the failed node can be migrated to a failover node, prepared, and then started.
Increasingly, customers demand performance and/or reliability guarantees (e.g., “high availability” clusters may guarantee a minimum down-time). Traditional cluster management schemes may not be able to meet ever increasing guarantees for higher performance and/or reliability.